﻿// 3478. 旧帐单.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <memory.h>

using namespace std;
/*
https://www.acwing.com/problem/content/3481/

在祖父的文件中夹着一个旧帐单，上面写着 72只火鸡，合计 _679_ 元。

火鸡总价的第一位和最后一位数字已经模糊不清了，但是我们仍然可以推断出火鸡的具体总价和单价。

现在就需要你编写一个解决上述问题的通用版本的程序。

N 只火鸡，合计 _XYZ_ 元，其中 N的范围是 [1,99]。

总价是一个五位数字，但是只能看清中间三位。

我们假定第一位数字不为 0，一只火鸡的价格是整数元，并且所有火鸡的价格均相同。

给定 N,X,Y,Z，请你求出缺少的两位数字，以及火鸡的单价。

当答案不唯一时，优先输出火鸡单价高的答案。

输入格式
输入包含多组测试数据。

每组数据第一行包含整数 N。

第二行包含三个整数 X,Y,Z。

输出格式
对于每组数据，在一行中依次输出第一位数字，第五位数字以及火鸡单价。

如果无解，则输出一行 0。

数据范围
1≤N≤99
,
0≤X,Y,Z≤9
,
每个输入最多包含 100组数据。

输入样例：
72
6 7 9
5
2 3 7
78
0 0 5
输出样例：
3 2 511
9 5 18475
0
*/


int a[5];
int n;


void solve() {
	int num = a[1] * 1000 + a[2] * 100 + a[3] * 10;
	for (int i = 90000; i >= 10000; i-=10000) {
		for (int j = 9; j >= 0; j--) {
			int nn = num + i + j;
			if (nn % n == 0) {
				cout << i / 10000 << " " << j << " " << nn / n << endl;
				return;
			}
		}
	}


	cout << 0 << endl;
	return;
}


int main()
{
	while (cin >> n) {
		memset(a,0,sizeof a);
		cin >> a[1] >> a[2] >> a[3];
		solve();
	}

	return 0;
}

